/**
 * 处理数据
 * @param request 待处理数据
 * @returns service 服务名称 path 请求地址 method 请求方法 params 请求参数
 */
const reqData = (request: any) => {
  const [pathWithQuery] = request.url.split('?'); // 截取 query 部分
  const path = pathWithQuery.replace('/api/', ''); // 截取 api 前缀
  const parts = path.split('/');
  const service = parts.shift(); // 提取第一个部分作为 serviceName
  // 提取最后一个部分作为 id，如果它是数字
  const lastPart = parts[parts.length - 1];
  const id = !isNaN(Number(lastPart)) ? parts.pop() : null;
  // 提取中间 path 部分
  const pathParts = parts.join('/');
  const method = request.method;
  const datas = {
    service,
    path: pathParts,
    method,
    params: { id },
  };
  return datas;
};
export default reqData;
